A complex computer system is often difficult to test to verify proper operation or to locate a failure unless it has been designed to incorporate test features. Such test features for diagnosing the operation of computer hardware can be operated automatically by a supplemental processor to make a comprehensive evaluation of the operability of the computer circuitry. By use of such automation it is possible for the testing of computer hardware to be carried out at a remote location by transmitting commands through telephone lines. For complex circuits, such as computers, it is vital to have a diagnostic circuit which provides extensive and revealing testing for the proper operation of the complex circuitry.
One technique which has been used for diagnosing circuit operation is termed a "scan ring". This technique links together a group of registers within a circuit to permit a serial path of data to be shifted into the registers. The registers can then be loaded with a selected bit pattern to test circuit operation. The use of a scan ring is described in "Electronics", Nov. 8, 1979 by Theodore J. Frechelte and Fred Tanner" entitled "Support Processor Analyzes Errors Caught by Latcher". Although a scan ring can provide substantial information, it is limited in its application since there are numerous types of failures which can produce spurious failure indications or completely block the operation of the scan ring so that no useful information can be produced.
In view of the necessity for diagnosing digital circuits, there exists a need for a diagnostic circuit to transfer data into and out of digital circuits so that comprehensive and thorough tests can be run on the circuits.